// 挂载变量
import { BASE_URL, API_URL, IMG_URL } from '../env.js';
import store from '@/shopro/store';
import http from '@/shopro/request';
import platform from '@/shopro/platform';
import tools from '@/shopro/utils/tools';
// mixin混入
import mixin from '@/shopro/mixins';
// #ifdef H5
// uni方法重写, h5的粘贴板的设置，获取。图片视频的保存
import wxsdk from '@/shopro/wechat/sdk';
import VConsole from 'vconsole';
import '@/shopro/utils/sdk-h5.js';
// #endif

import wechat from '@/shopro/wechat/wechat';

const install = (Vue) => {
  Vue.prototype.$BASE_URL = BASE_URL;
  Vue.prototype.$API_URL = API_URL;
  Vue.prototype.$IMG_URL = IMG_URL;
  // 挂载请求
  Vue.prototype.$http = http;
  // 平台判断
  Vue.prototype.$platform = platform;
  // 挂载工具函数
  Vue.prototype.$tools = tools;
  Vue.mixin(mixin);

  // #ifdef H5
  // 微信H5,sdk挂载
  Vue.prototype.$wxsdk = wxsdk;
  //  调试微信jssdk
  process.env.NODE_ENV === 'development' && new VConsole();
  // #endif
};

export async function init(options) {
  // #ifdef H5
  platform.entry();
  // #endif
  // #ifdef MP-WEIXIN
  // 检测小程序更新(如果从朋友圈场景进入则无此API)
  options.scene !== 1154 && wechat.checkMiniProgramUpdate();
  // #endif
   await store.dispatch('appInit', options); // 加载商城基本信息
  await store.dispatch('getTemplate', options); // 加载模板数据
  // #ifdef MP-WEIXIN
  await store.dispatch('getMessageIds'); //获取模板消息
  // #endif
  process.env.NODE_ENV === 'development' && store.dispatch('syncPages');
}

export function appShow() {
  store.dispatch('onShareStatus', {
    status: 'shared',
    now: new Date(),
  });
}
export function appHide() {}

export default {
  install,
};
